/**
 *
 */

$(function (){
    //如果传入shopId，说明用户是想修改店铺
    //如果不传，说明用户就是想注册店铺
    var shopId = getQueryString('shopId');
    var isEdit = shopId?true:false;

    //获取店铺的分类以及区域信息
    var initUrl = '/shopadmin/getshopinitinfo';
    var registerShopUrl = '/shopadmin/registershop';
    var shopInfoUrl = '/shopadmin/getshopbyid?shopId=' + shopId;
    var editShopUrl = '/shopadmin/modifyshop';

    // 根据isEdit 来判断 是注册商品还是修改商铺
    if(!isEdit){
        // 调用getShopInitInfo，注册店铺用
        getShopInitInfo();
    }else{
        // 调用getShopInfoById，修改店铺用
        getShopInfoById(shopId);
    }

    /**
     * 通过shopId获取shop信息
     */
    function getShopInfoById(shopId){
        $.getJSON(shopInfoUrl,function(data){
            if(data.success){
                // 将后台返回的shop通过shop变量接收，方便赋值
                var shop =  data.shop;
                // 赋值   要和shop实体类中的属性名保持一致
                $('#shop-name').val(shop.shopName);
                $('#shop-name').attr('disabled','disabled');
                $('#shop-addr').val(shop.shopAddr);
                $('#shop-phone').val(shop.phone);
                $('#shop-desc').val(shop.shopDesc);

                // 商品目录进行赋值   商品目录仅仅加载对应的目录，且不可编辑
                var shopCategory = '<option data-id="'
                    +shop.shopCategory.shopCategoryId + '" selected>'
                    +shop.shopCategory.shopCategoryName +'</option>';
                $('#shop-category').html(shopCategory);
                // 设置为不可编辑
                $('#shop-category').attr('disabled','disabled');

                // 区域进行赋值  区域可以进行编辑，并且初始设置为后台对应的区域
                var tempShopAreaHtml = '';
                data.areaList.map(function(item, index) {
                    tempShopAreaHtml += '<option data-id="' + item.areaId
                        + '">' + item.areaName + '</option>';
                });
                $('#shop-area').html(tempShopAreaHtml);
                //初始设置为后台对应的区域
                $("#shop-area option[data-id='"+shop.area.areaId+"']").attr("selected","selected");

            }else{
                $.toast(data.errMsg);
            }
        });
    };

    /**
     * 从后台加载获取下拉菜单的值
     */
    function getShopInitInfo() {
        $.getJSON(initUrl,function(data){
            if (data.success){
                var tempHtml = '';
                var tempAreaHtml = '';
                data.shopCategoryList.map(function (item,index){
                    tempHtml += '<option data-id="' + item.shopCategoryId + '">'
                        + item.shopCategoryName + '</option>'
                });
                data.areaList.map(function (item,index){
                    tempAreaHtml += '<option data-id="' + item.areaId + '">' + item.areaName + '</option>'
                });
                //获取到的信息放到前台的页面上
                $("#shop-category").html(tempHtml);
                $("#shop-area").html(tempAreaHtml);
            }else{
                $.toast(data.errMsg);
            }
        });
    };

    $('#submit').click(function (){
        var shop = {};
        if (isEdit){
            shop.shopId = shopId;
        }
        shop.shopName = $('#shop-name').val();
        shop.shopAddr = $('#shop-addr').val();
        shop.phone = $('#shop-phone').val();
        shop.shopDesc = $('#shop-desc').val();
        // 选择id,双重否定=肯定
        shop.shopCategory = {
            //选中select option的id
            shopCategoryId : $('#shop-category').find('option').not(function (){
                return !this.selected;
            }).data('id')
        };
        shop.area = {
            areaId:$('#shop-area').find('option').not(function (){
                return !this.selected;
            }).data('id')
        };

        // 图片
        var shopImg = $('#shop-img')[0].files[0];

        // 验证码
        var verifyCodeActual =$('#j_kaptcha').val();
        console.log('verifyCodeActual:'+verifyCodeActual);
        if(!verifyCodeActual){
            $.toast('请输入验证码');
            return;
        }

        // 接收数据
        var formData = new FormData();
        // 和后端约定好，利用shopImg和 shopStr接收 shop图片信息和shop信息
        formData.append('shopImg',shopImg);
        // 转成JSON格式，后端收到后将JSON转为实体类
        formData.append('shopStr',JSON.stringify(shop));

        // 将数据封装到formData发送到后台
        formData.append('verifyCodeActual',verifyCodeActual);

        $.ajax({
            //发送请求的地址
            url:isEdit?editShopUrl:registerShopUrl,
            //发送请求的类型
            type:'POST',
            //发送到服务器的数据，这里则是封装了一个formData对象
            data:formData,
            //这里试着为false是为了避免jquery对其操作（contextType表示返回到服务器的编码类型）
            contentType:false,
            //这里设置为是false是为了不希望它被转换为默认类型
            processData:false,
            //设置为false表示不缓存此页面
            cache:false,
            //这里的data是后台返回的json数据
            success:function(data){
                //这里的data.success里面的success是自己在后台定义的
                if (data.success){
                    $.toast('提交成功！'+ data.errMsg);
                }else {
                    $.toast('提交失败！' + data.errMsg);
                }
                $('#captcha_img').click();
            }
        });
    });
});